#ifndef __IIC_H
#define __IIC_H

#include "gd32f10x.h"
#include "systick.h"

#define IIC_SCL_H		gpio_bit_set(GPIOB, GPIO_PIN_6)			
#define IIC_SCL_L		gpio_bit_reset(GPIOB, GPIO_PIN_6)		

#define IIC_SDA_H		gpio_bit_set(GPIOB, GPIO_PIN_7)			
#define IIC_SDA_L		gpio_bit_reset(GPIOB, GPIO_PIN_7)		

#define IIC_SDA_READ	gpio_input_bit_get(GPIOB, GPIO_PIN_7)

void iic_init(void);
void iic_start(void);
void iic_stop(void);
void iic_send_byte(uint8_t byte);
uint8_t iic_read_byte(uint8_t ack);
uint8_t iic_wait_ack(int16_t timeout);

#endif
